您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

基于一次性口令的移动终端身份认证方法和系统

  • 申请号:CN201010594453.3 申请公布号: CN102026195A
  • 申请日: 2010-12-17 申请公布日: 2011-04-20
  • 申请(专利权)人: 专利代理机构: 北京市商泰律师事务所
  • 分类号:H04W12/06;H04L9/32

专利介绍

本发明公开了一种基于一次性口令的移动终端身份认证方法和系统。该方法包括:接收输入移动设备的用户身份标识ID和用户通行密语PW,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致,若不一致,提示用户输入有误,请用户重新输入ID和PW;若一致,执行第二级认证步骤;其中,H(PW)表示PW的哈希函数;基于一次性因素生成因子OTP、所述ID和所述PW进行移动设备与服务器间的双向身份认证。本发明对OTP思想进行改进,保留技术优势的前提下,实现用户和服务器的双向认证,在不增加系统复杂程度的基础上,增强认证的安全性。
1.一种基于一次性口令的移动终端身份认证方法,其特征在于,包括如下步骤:第一级认证步骤,接收输入移动设备的用户身份标识ID和用户通行密语PW,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致,若不一致,提示用户输入有误,请用户重新输入ID和PW;若一致,执行第二级认证步骤;其中,H(PW)表示PW的哈希函数;第二级认证步骤,基于一次性因素生成因子OTP、所述ID和所述PW进行移动设备与服务器间的双向身份认证;其中,所述ID、所述PW和所述OTP通过用户注册过程确定;并且,所述OTP基于移动设备特征性标识生成,所述移动设备特征性标识包括移动设备识别码IMEI和移动用户识别码IMSI。
2.根据权利要求1所述的移动终端身份认证方法,其特征在于,通过用户注册过程确定所述ID、所述PW和所述OTP进一步包括:请求步骤,向服务器发出注册请求,接收并存储服务器基于响应该注册请求所发送的椭圆曲线系统参数集ECC和服务器端公钥KSR;第一发送步骤,选取用户端公钥KUR和用户端密钥KUS后,发送用所述KSR加密的(ID,H(PW),IMEI,IMSI,KUR)给服务器;第一接收步骤,用于接收服务器发送的用KUR加密的初始生成因子OTP0,并基于KUS解密后存储;所述OTP0用于形成所述第二级认证步骤中的一次性因素生成因子OTP;其中,ID、PW和OTP0通过如下方式确定:服务器端用KSS解密收到的所述(ID,H(PW),IMEI,IMSI,KUR),并验证ID是否已经存在:如果存在,则返回给移动设备注册错误信息,注册结束;如果不存在,则所述ID和所述PW可用,同时,服务器端对Counter进行初始化,令Counter=0,生成一次性因素生成因子OTP0=H(Counter||IMEI||IMSI);存储所述ID和PW,并发送OTP0至移动设备;其中,H(Counter||IMEI||IMSI)表示Counter||IMEI||IMSI的哈希函数;“||”表示逻辑或运算;Counter表示计数器的数值,其取值为不小于零的整数;并且,所述椭圆曲线系统参数集ECC为服务器端初始化生成;服务器端公钥KSR和服务器端密钥KSS为服务器端自行选取。
3.根据权利要求2所述的移动终端身份认证方法,其特征在于,所述第二级认证步骤进一步包括:第二发送步骤,发送用KSR加密的(ID,OTPCi,H(PW))给服务器端;其中,OTPCi是第i次认证时,服务器端验证客户端身份的一次性因子,OTPCi=H(OTPCi-1||Counter);对于第一次登录的用户,OTPC1=H(OTPC0);OTPC0=OTP0;其中,H(OTPCi-||Counter)表示OTPCi-1||Counter的哈希函数;H(OTPC0)表示OTPC0的哈希函数;服务器端验证步骤,服务器端用KSS解密收到的上述信息,比较ID、H(PW)是否与数据库中的一致;若否,返回客户端用户验证出错信息;若是,服务器端计算OTPCi’;OTPCi’=H(OTPCi-1||Counter);同步判断步骤,服务器对比OTPCi’与存储的OTPCi是否一致,若否,则向客户端发出同步请求,进行同步操作;若是,继续第三发送步骤;第三发送步骤,服务器端发送用KUR加密的OTPSi和成功信息给客户端;其中,OTPSi=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);其中,H(OTPSi-1||Counter)表示OTPSi-1||Counter的哈希函数;H(OTPS0)表示OTPS0的哈希函数;H(IMEI||Counter)表示IMEI||Counter的哈希函数;客户端验证步骤,客户端收到第三发送步骤发送的信息后,用KUS解密,计算得到的OTPSi;计算OTPSi’,OTPSi’=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);判断OTPSi与OTPSi’是否相同,若相同,则认证成功;否则认证失败,终止会话;客户端和服务器端的Counter分别自增1。
4.根据权利要求3所述的移动终端身份认证方法,其特征在于,所述同步判断步骤中,所述同步操作进一步包括:服务器向客户端发出同步请求;客户端将IMEI和IMSI用KSR加密后传送给服务器端;服务器端用KSS解密,获取IMEI和IMSI,与本地存储的进行对比,若两者均相同,则将OTPCi-1,OTPSi-1,Counter用KUR加密后传送给客户端进行同步;客户端收到以上信息,用KUS解密后存储在客户端,同步阶段完成。
5.一种基于一次性口令的移动终端身份认证系统,其特征在于,包括:注册模块,用于通过用户注册模块确定所述ID、所述PW和所述OTP;并且,所述OTP基于移动设备特征性标识生成,所述移动设备特征性标识包括移动设备识别码IMEI和移动用户识别码IMSI;第一级认证模块,用于接收输入移动设备的用户身份标识ID和用户通行密语PW,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致,若不一致,提示用户输入有误,请用户重新输入ID和PW;若一致,执行第二级认证步骤;其中,H(PW)表示PW的哈希函数;第二级认证模块,用于基于一次性因素生成因子OTP、所述ID和所述PW进行移动设备与服务器间的双向身份认证。
6.根据权利要求5所述的移动终端身份认证系统,其特征在于,所述注册模块包括:请求单元,用于向服务器发出注册请求,接收并存储服务器基于响应该注册请求所发送的椭圆曲线系统参数集ECC和服务器端公钥KSR;第一发送单元,用于选取用户端公钥KUR和用户端密钥KUS后,发送用所述KSR加密的(ID,H(PW),IMEI,IMSI,KUR)给服务器;第一接收单元,用于接收服务器发送的用KUR加密的初始生成因子OTP0,并基于KUS解密后存储;所述OTP0用于形成所述第二级认证步骤中的一次性因素生成因子OTP;其中,ID、PW和OTP0通过如下方式确定:服务器端用KSS解密收到的所述(ID,H(PW),IMEI,IMSI,KUR),并验证ID是否已经存在:如果存在,则返回给移动设备注册错误信息,注册结束;如果不存在,则所述ID和所述PW可用,同时,服务器端对Counter进行初始化,令Counter=0,生成一次性因素生成因子OTP0=H(Counter||IMEI||IMSI);存储所述ID和PW,并发送OTP0至移动设备;其中,H(Counter||IMEI||IMSI)表示Counter||IMEI||IMSI的哈希函数;“||”表示逻辑或运算;Counter表示计数器的数值,其取值为不小于零的整数;并且,所述椭圆曲线系统参数集ECC为服务器端初始化生成;服务器端公钥KSR和服务器端密钥KSS为服务器端自行选取。
7.根据权利要求6所述的移动终端身份认证系统,其特征在于,所述第二级认证模块进一步包括:第二发送单元,用于发送用KSR加密的(ID,OTPCi,H(PW))给服务器端;其中,OTPCi是第i次认证时,服务器端验证客户端身份的一次性因子,OTPCi=H(OTPCi-1||Counter);对于第一次登录的用户,OTPC1=H(OTPC0);OTPC0=OTP0;其中,H(OTPCi-1||Counter)表示OTPCi-1||Counter的哈希函数;H(OTPC0)表示OTPC0的哈希函数;服务器端验证单元,用于服务器端用KSS解密收到的上述信息,比较ID、H(PW)是否与数据库中的一致;若否,返回客户端用户验证出错信息;若是,服务器端计算OTPCi’;OTPCi’=H(OTPCi-1||Counter);同步判断单元,用于服务器对比OTPCi’与存储的OTPCi是否一致,若否,则向客户端发出同步请求,进行同步操作;若是,继续第三发送步骤;第三发送单元,用于服务器端发送用KUR加密的OTPSi和成功信息给客户端;其中,OTPSi=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);其中,H(OTPSi-1||Counter)表示OTPSi-1||Counter的哈希函数;H(OTPS0)表示OTPS0的哈希函数;H(IMEI||Counter)表示IMEI||Counter的哈希函数;客户端验证单元,用于客户端收到第三发送步骤发送的信息后,用KUS解密,计算得到的OTPSi;计算OTPSi’,OTPSi’=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);判断OTPSi与OTPSi’是否相同,若相同,则认证成功;否则认证失败,终止会话;客户端和服务器端的Counter分别自增1。
8.根据权利要求7所述的移动终端身份认证系统,其特征在于,所述同步判断单元中进一步包括:用于服务器向客户端发出同步请求的子单元;用于客户端将IMEI和IMSI用KSR加密后传送给服务器端的子单元;用于服务器端用KSS解密,获取IMEI和IMSI,与本地存储的进行对比,若两者均相同,则将OTPCi-1,OTPSi-1,Counter用KUR加密后传送给客户端进行同步的子单元;用于客户端收到以上信息,用KUS解密后存储在客户端,完成同步阶段的子单元。技术领域
本发明涉及信息安全领域,尤其涉及一种基于一次性口令的移动终端身份认证方法和系统。
背景技术
在移动通信系统中,由于无线信道的开放性,安全问题一直是影响系统运营的关键因素之一。随着移动通信的日益普及,其安全性能也受到了广泛重视,随之产生了一系列安全、高效的身份认证方案。但是,在移动商务背景下,由于终端设备的运算存储能力等条件有限,而传统身份认证方案往往认证过程复杂、对终端设备要求较高,并不完全适用于移动商务身份认证。目前,本领域技术人员提出了一种基于OTP(One-Timexa0Password,一次口令)的噪声密码方法。该方法是一种相对安全且应用相对成熟的技术。核心思想可以简要叙述为:在每次登录认证的过程中加入不确定因素,使每次登陆口令的密文不同,从而使攻击者很难通过窃取用户口令的方式非法访问系统,以此达到提高安全性的目的。但是该技术在应用到开放信道的移动认证领域的时候,会遇到如下问题:进行身份认证时需要进行很多次散列运算,这对于运算资源相对有限的移动设备来说,极大增加了系统负担,降低了移动设备的整体性能;另外,在认证过程中,由于不能实现用户和服务器的双向认证,移动设备无法识别假冒的服务器。在网络传输中,服务器发出的种子和迭代值都是以明文的形式在网络上传输,加之移动通信网络的开放性,攻击者能够比较容易地窃取到用户的种子,当用户再次请求登录系统时,攻击者可以假冒服务器将得到的种子和较小的迭代值发给用户,用户利用种子和迭代值计算出一次口令,这样攻击者就取得了具有较小迭代值的一次性口令,并利用一致的单向散列函数计算较大迭代值的一次性口令,由此获得用户访问系统的一系列的一次性口令,攻击者可以在一段时间内冒充合法用户而不被发现,即不能很好抵御小数攻击。
发明内容
本发明的目的在于提供一种基于一次性口令的移动终端身份认证方法和系统,对OTP思想进行改进,保留技术优势的前提下,实现用户和服务器的双向认证,在不增加系统复杂程度的基础上,增强认证的安全性。一方面,本发明公开了一种基于一次性口令的移动终端身份认证方法,包括如下步骤:第一级认证步骤,接收输入移动设备的用户身份标识ID和用户通行密语PW,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致,若不一致,提示用户输入有误,请用户重新输入ID和PW;若一致,执行第二级认证步骤;其中,H(PW)表示PW的哈希函数;第二级认证步骤,基于一次性因素生成因子OTP、所述ID和所述PW进行移动设备与服务器间的双向身份认证;其中,所述ID、所述PW和所述OTP通过用户注册过程确定;并且,所述OTP基于移动设备特征性标识生成,所述移动设备特征性标识包括移动设备识别码IMEI和移动用户识别码IMSI。上述移动终端身份认证方法,优选通过用户注册过程确定所述ID、所述PW和所述OTP进一步包括:请求步骤,向服务器发出注册请求,接收并存储服务器基于响应该注册请求所发送的椭圆曲线系统参数集ECC和服务器端公钥KSR;第一发送步骤,选取用户端公钥KUR和用户端密钥KUS后,发送用所述KSR加密的(ID,H(PW),IMEI,IMSI,KUR)给服务器;第一接收步骤,用于接收服务器发送的用KUR加密的初始生成因子OTP0,并基于KUS解密后存储;所述OTP0用于形成所述第二级认证步骤中的一次性因素生成因子OTP;其中,ID、PW和OTP0通过如下方式确定:服务器端用KSS解密收到的所述(ID,H(PW),IMEI,IMSI,KUR),并验证ID是否已经存在:如果存在,则返回给移动设备注册错误信息,注册结束;如果不存在,则所述ID和所述PW可用,同时,服务器端对Counter进行初始化,令Counter=0,生成一次性因素生成因子OTP0=H(Counter||IMEI||IMSI);存储所述ID和PW,并发送OTP0至移动设备;其中,H(Counter||IMEI||IMSI)表示Counter||IMEI||IMSI的哈希函数;“||”表示逻辑或运算;Counter表示计数器的数值,其取值为不小于零的整数;并且,所述椭圆曲线系统参数集ECC为服务器端初始化生成;服务器端公钥KSR和服务器端密钥KSS为服务器端自行选取。上述移动终端身份认证方法,优选所述第二级认证步骤进一步包括:第二发送步骤,发送用KSR加密的(ID,OTPCi,H(PW))给服务器端;其中,OTPCi是第i次认证时,服务器端验证客户端身份的一次性因子,OTPCi=H(OTPCi-1||Counter);对于第一次登录的用户,OTPC1=H(OTPC0);OTPC0=OTP0;其中,H(OTPCi-1||Counter)表示OTPCi-1||Counter的哈希函数;H(OTPC0)表示OTPC0的哈希函数;服务器端验证步骤,服务器端用KSS解密收到的上述信息,比较ID、H(PW)是否与数据库中的一致;若否,返回客户端用户验证出错信息;若是,服务器端计算OTPCi’;OTPCi’=H(OTPCi-1||Counter);同步判断步骤,服务器对比OTPCi’与存储的OTPCi是否一致,若否,则向客户端发出同步请求,进行同步操作;若是,继续第三发送步骤;第三发送步骤,服务器端发送用KUR加密的OTPSi和成功信息给客户端;其中,OTPSi=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);其中,H(OTPSi-1||Counter)表示OTPSi-1||Counter的哈希函数;H(OTPS0)表示OTPS0的哈希函数;H(IMEI||Counter)表示IMEI||Counter的哈希函数;客户端验证步骤,客户端收到第三发送步骤发送的信息后,用KUS解密,计算得到的OTPSi;计算OTPSi’,OTPSi’=H(OTPSi-1||Counter),对于第一次验证,OTPSxa01=H(OTPS0),OTPS0=H(IMEI||Counter);判断OTPSi与OTPSi’是否相同,若相同,则认证成功;否则认证失败,终止会话;客户端和服务器端的Counter分别自增1。上述移动终端身份认证方法,优选所述同步判断步骤中,所述同步操作进一步包括:服务器向客户端发出同步请求;客户端将IMEI和IMSI用KSR加密后传送给服务器端;服务器端用KSS解密,获取IMEI和IMSI,与本地存储的进行对比,若两者均相同,则将OTPCi-1,OTPSi-1,Counter用KUR加密后传送给客户端进行同步;客户端收到以上信息,用KUS解密后存储在客户端,同步阶段完成。另一方面,本发明还公开了一种基于一次性口令的移动终端身份认证系统,包括:注册模块、第一级认证模块和第二级认证模块。其中,注册模块用于通过用户注册模块确定所述ID、所述PW和所述OTP;并且,所述OTP基于移动设备特征性标识生成,所述移动设备特征性标识包括移动设备识别码IMEI和移动用户识别码IMSI;第一级认证模块用于接收输入移动设备的用户身份标识ID和用户通行密语PW,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致,若不一致,提示用户输入有误,请用户重新输入ID和PW;若一致,执行第二级认证步骤;其中,H(PW)表示PW的哈希函数;第二级认证模块用于基于一次性因素生成因子OTP、所述ID和所述PW进行移动设备与服务器间的双向身份认证。上述移动终端身份认证系统,优选所述注册模块包括:请求单元、第一发送单元和第一接收单元;请求单元用于向服务器发出注册请求,接收并存储服务器基于响应该注册请求所发送的椭圆曲线系统参数集ECC和服务器端公钥KSR;第一发送单元用于选取用户端公钥KUR和用户端密钥KUS后,发送用所述KSR加密的(ID,H(PW),IMEI,IMSI,KUR)给服务器;第一接收单元用于接收服务器发送的用KUR加密的初始生成因子OTP0,并基于KUS解密后存储;所述OTP0用于形成所述第二级认证步骤中的一次性因素生成因子OTP;其中,ID、PW和OTP0通过如下方式确定:服务器端用KSS解密收到的所述(ID,H(PW),IMEI,IMSI,KUR),并验证ID是否已经存在:如果存在,则返回给移动设备注册错误信息,注册结束;如果不存在,则所述ID和所述PW可用,同时,服务器端对Counter进行初始化,令Counter=0,生成一次性因素生成因子OTP0=H(C0unter||IMEI||IMSI);存储所述ID和PW,并发送OTP0至移动设备;其中,H(Counter||IMEI||IMSI)表示Counter||IMEI||IMSI的哈希函数;“||”表示逻辑或运算;Counter表示计数器的数值,其取值为不小于零的整数;并且,所述椭圆曲线系统参数集ECC为服务器端初始化生成;服务器端公钥KSR和服务器端密钥KSS为服务器端自行选取。上述移动终端身份认证系统,优选所述第二级认证模块进一步包括:第二发送单元、服务器端验证单元、同步判断单元、第三发送单元和客户端验证单元。其中,第二发送单元用于发送用KSR加密的(ID,OTPCi,H(PW))给服务器端;其中,OTPCi是第i次认证时,服务器端验证客户端身份的一次性因子,OTPCi=H(OTPCi-1||Counter);对于第一次登录的用户,OTPC1=H(OTPC0);OTPC0=OTP0;其中,H(OTPCi-1||Counter)表示OTPCi-1||Counter的哈希函数;H(OTPC0)表示OTPC0的哈希函数;服务器端验证单元用于服务器端用KSS解密收到的上述信息,比较ID、H(PW)是否与数据库中的一致;若否,返回客户端用户验证出错信息;若是,服务器端计算OTPCi’;OTPCi’=H(OTPCi-1||Counter);同步判断单元用于服务器对比OTPCi’与存储的OTPCi是否一致,若否,则向客户端发出同步请求,进行同步操作;若是,继续第三发送步骤;第三发送单元用于服务器端发送用KUR加密的OTPSi和成功信息给客户端;其中,OTPSi=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);其中,H(OTPSi-1||Counter)表示OTPSi-1||Counter的哈希函数;H(OTPS0)表示OTPS0的哈希函数;H(IMEI||Counter)表示IMEI||Counter的哈希函数;客户端验证单元用于客户端收到第三发送步骤发送的信息后,用KUS解密,计算得到的OTPSi;计算OTPSi’,OTPSi’=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter);判断OTPSi与OTPSi’是否相同,若相同,则认证成功;否则认证失败,终止会话;客户端和服务器端的Counter分别自增1。客户端验证单元所述同步判断单元中进一步包括:用于服务器向客户端发出同步请求的子单元、用于客户端将IMEI和IMSI用KSR加密后传送给服务器端的子单元、用于服务器端用KSS解密,获取IMEI和IMSI,与本地存储的进行对比,若两者均相同,则将OTPCi-1,OTPSi-1,Counter用KUR加密后传送给客户端进行同步的子单元;以及用于客户端收到以上信息,用KUS解密后存储在客户端,完成同步阶段的子单元。与现有技术相比,本发明在OTP思想的基础上对其进行改进,保留OTP技术优势,并解决其应用到移动终端身份认证中遇到的新问题。同时,在数据的无线传输中,本发明在不增加系统负担的前提下,使用ECC加密算法提高了无线传输过程中数据的安全性。本发明在确保安全性的基础上,具有结构简单、运算量小、无需第三方认证等优点,因此适用于移动商务中的身份认证。
附图说明
图1为本发明基于一次性口令的移动终端身份认证方法实施例的步骤流程图;图2为本发明基于一次性口令的移动终端身份认证方法实施例中,用户注册的步骤流程图;图3为本发明基于一次性口令的移动终端身份认证方法实施例中,认证登录的步骤流程图;图4为本发明基于一次性口令的移动终端身份认证方法实施例中,同步过程的步骤流程图;图5为本发明基于一次性口令的移动终端身份认证系统实施例的结构框图;图6为本发明基于一次性口令的移动终端身份认证系统实施例的注册模块的结构框图;图7为本发明基于一次性口令的移动终端身份认证系统实施例的第一级认证模块的结构框图;图8为本发明基于一次性口令的移动终端身份认证系统实施例的第二级认证模块的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。在对具体实施方式进行详细说明前,先对以下符号和标识进行说明:ID是用户的身份标识;PW是用户的通行密语;IMEI是移动设备识别码,IMSI是移动用户识别码,这两者共同作为服务器对客户端进行认证的认证口令因子存在;C是用户所使用的终端,即客户端;S是认证服务器;H()表示Hash函数(哈希函数);E()表示加密过程,D()表示解密过程;CPi表示客户端的第i次认证口令,SPi表示服务端的第i次认证口令;OTPCi是服务器端验证客户端身份的一次性因子;OTPSi是客户端验证服务器端身份的一次性因子;KUR、KUS分别是是用户端的公钥和密钥;KSR、KSS分别是服务器端的公钥和密钥。参照图1,图1为本发明基于一次性口令的移动终端身份认证方法实施例的步骤流程图;步骤S110,接收输入移动设备的用户身份标识ID和用户通行密语PW;步骤S120,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致;步骤Sxa0130A,若不一致,提示用户输入有误,请用户重新输入ID和PW;其中,H(PW)表示PW的哈希函数;步骤S130B,若一致,基于一次性因素生成因子OTP、ID和PW进行移动设备与服务器间的双向身份认证。其中,ID、PW和OTP通过用户注册过程确定;并且,OTP基于移动设备特征性标识生成,移动设备特征性标识包括移动设备识别码IMEI和移动用户识别码IMSI。上述实施例中的认证方案分为两级,第一级认证是用户与移动设备的认证,此项认证通过软件实现用户名与密码的核实实现,在基本不增加复杂程度的基础上,能够增强认证的安全性。发明主要针对第二级认证,移动设备与服务器的双向身份认证,在此认证过程中,使用移动设备特征性标识(IMEI和IMSI)作为一次性因素的生成因子。下面通过一个优选实施例对本发明进行详细的说明。该实施例从注册过程、登录认证过程和同步阶段三部分进行说明。(一)注册过程图2是用户注册的步骤流程图。从图中可以清楚地了解用户注册的每个步骤。在注册过程中,用户需要输入即将注册的ID、PW,最后把这些注册数据进行计算,并将得到的首次认证数据通过安全的信道提交给服务器保存,以供第一次认证会话使用。参照图2,用户注册包括如下步骤:步骤1:服务器端初始化生成安全椭圆曲线,选取自己的公钥KSR和密钥KSR发送给客户端。步骤2:客户端向服务器发出注册请求。步骤3:接到注册请求后,服务器将椭圆曲线系统参数集ECC连同KSR发送给客户端。步骤4:客户端存储KSR,选取自己的公钥KUR和密钥KUS;步骤5:客户端发送用KSR加密的(ID,H(PW),IMEI,IMSI,KUR)给服务器端。步骤6:服务器端用KSS解密收到的(ID,H(PW),IMEI,IMSI,KUR),并验证ID是否已经存在:如果存在,则返回给客户端重复注册错误信息,注册结束;如果不存在,继续步骤7。步骤7:服务器端初始化Counter=0,生成一次性因素OTP0=H(Counter||IMEI||IMSI)并存储,用于登陆阶段的认证。其中,Counter表示计数器的数值,且Counter为整数且Counter≥0。也就是说,Counter起到计数器的作用,每次认证,该计数器从零计起,不考虑上限。“||”代表逻辑或的运算。步骤8:服务器用KUR加密OTP0,并将其发送给客户端。步骤9:客户端用KUS解密收到的信息,存储OTP0在客户端,用于登陆阶段的认证,并将Counter初始化为0。(二)认证过程当用户开始使用服务器的服务,应该提供一些必要的信息给服务器端。具体过程如图3所示。步骤1:用户输入ID、PW,客户端对比ID、H(PW)与存储在移动设备中的是否一致,如果不一致,提示用户输入有误;否则继续步骤2。步骤2:客户端发送用KSR加密的(ID,OTPCi,H(PW))给服务器。其中OTPCi=H(OTPCi-1||Counter)。对于第一次登录的用户,OTPC1=H(OTPC0),OTPC0=OTP0。步骤3:服务器端用KSS解密收到的上述信息,比较ID、H(PW)是否与数据库中的一致。如果不相同,返回客户端用户验证出错信息;如果相同,服务器端计算OTPCi’。OTPCi’=H(OTPCi-1||Counter)。步骤4:服务器对比OTPCi’与存储的OTPCi是否一致,如果不一致,则向客户端发出同步请求,进行同步操作。否则,继续步骤5。步骤5:服务器端发送用KUR加密的OTPSi和成功信息给客户端。其中:OTPSi=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter)。步骤6:客户端收到上述信息后用KUS解密,判断得到的OTPSi与OTPSi’是否相同。其中:OTPSi’与服务器端计算OTPSi的方法相同。即OTPSi’=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter)。如果OTPSi’=OTPSi,则认证成功;否则认证失败,终止会话。步骤7:客户端和服务器端的Counter分别自增1。(三)同步阶段同步阶段主要通过IMEI和IMSI进行身份确认,其流程如图4所示。同步阶段是在客户端进行了一级认证,即对ID和PWD认证的前提下进行的,其具体流程如下:步骤1:服务器向客户端发出同步请求。步骤2:客户端将IMEI和IMSI用KSR加密后传送给服务器端。步骤3:服务器端用KSS解密,获取IMEI和IMSI,与本地存储的进行对比,若两者均相同,则将OTPCi-1,OTPSi-1,Counter用KUR加密后传送给客户端进行同步。步骤4:客户端收到以上信息,用KUS解密后存储在客户端,同步阶段完成。从上述实施例可以看出,为适用于移动身份认证,本方法各个模块之间和内部结构简单,大致可分为“注册过程”、“登录认证过程”和“同步过程”三个模块。其中,注册过程是新用户通过移动设备向服务器发出注册请求、服务器响应的过程;登录认证过程是对既有用户进行身份认证的的过程;同步情况为在认证过程中解决客户端和服务器端不能同步的情况,比如在认证成功之后,确认认证成功的消息,在传送中发生丢失或者被截获的情况,服务器端和客户端则会出现认证因子不同步的问题。这时,可以通过同步操作来进行更正。与传统方法不同,该认证方法分为两级,一是用户与移动设备的认证,此项认证通过软件实现用户名与密码的核实实现,在基本不增加复杂程度的基础上,能够增强认证的安全性。发明主要针对第二级认证,二级认证是移动设备与服务器的双向身份认证,在此认证过程中,使用移动设备特征性标识(IMEI和IMSI)作为一次性因素的生成因子。在认证开始时,服务器端用椭圆曲线加密算法产生客户端、服务器端的公钥和私钥,这较传统公钥算法效率更高。认证口令传输时,客户端和服务器端分别用对方的公钥加密,在另一方用私钥解密,避免了明文传输,且对随机因子进行了二次加密,提高了口令传输的安全性。利用散列函数生成随机因子,可以避免了明文传输,而且能解决传统身份认证中散列次数递减作为随机因子所带来的哈希链长度不够问题。在移动设备与服务器相互认证的过程中,采用服务端和客户端迭代计算哈希链,避免在认证过程中一次性计算过长哈希链而影响效率,更适用于运算性能有限的移动终端设备。同时,利用哈希链构造一次性口令时加入服务计数,避免针对已知散列函数的小数攻击。如果服务器与客户端通信过程出现消息丢失等情况,IMEI和IMSI还可以作为双方同步的认证因子。本发明具有如下安全性标准:(1)抗小数攻击:在客户端和服务器间的相互认证已经完成。在用户注册后,客户端发送OTPC=H(IMEI||IMSI||counter)给服务器端,服务器端通过计算OTPC’=H(IMEI||IMSI||counter)进行认证。同时,客户端进行相同运算。在此基础上,将成功抵御小数攻击,即假冒服务器攻击。(2)抗重放攻击:对于每一次新的登录请求,系统都更新“计算器”。因为所有包含随机数的信息都可以用来抵御欺骗服务器的重放攻击。另一方面,保存在服务器上的信息也可以抵御欺骗用户的重放攻击。假定一个攻击者截取了先前的OTPC,他仍然不能提取新的随机数和IMEI、IMSI哈希后的结果。因此,他不能通过接下来的认证。本发明所提出的方法在身份鉴别过程中,开放网络上传输的由客户端和服务器端产生的随机数都是经过加密的,攻击者即使截获了传输的内容,也不可能得到口令。由于每次身份鉴别产生的随机数是不同的,保证了每次传输的身份鉴别口令验证码是不相同的,即使截获了传输的信息,也很难实施重放攻击。(3)抗假冒攻击:如果一个攻击者想要伪装成一个合法用户,他需要伪造一个登录信息来通过服务器端的认证。然而,他不能计算有效的OTPC,也就不能产生有效的登录请求。如果一个攻击者想要伪装成服务器端,他需要发送OTPS到客户端。然后客户端将从数据库提取已保存的随机数和IMEI来验证OTPS的有效性。既然攻击者没有服务器端的信息,他就无法计算Hash(counter||IMEI||IMSI)来伪造有效的OTPS。(4)抗拒绝服务攻击:如果服务器没有对新的身份鉴别信息进行合法性检查就更新了数据库中合法用户的身份鉴别信息,这就会导致合法用户的后续登录请求被拒绝。在本发明方法中,服务器端在对用户身份鉴别通过的情况下已经确保了作为用户下一次登录的验证信息是可信的。因为服务器端通过本身存储的数据计算OTPC’进行验证,既保证了信息的完整性,同时又被用于验证它的合法性,那么任何对中间信息的未经授权的更改都会被服务器检测到,因而攻击者很难通过篡改用户认合法的身份鉴别响应信息来实施拒绝服务攻击。同时,本方法是基于移动设备的身份认证方法,针对用户终端设备容易遗失或者仿制而引起的冒充合法用户进行认证的安全性问题,本方法引入了IMEI和IMSI码,使得用户本人在意外情况下,可以通过通信服务提供商随时终止自己的合法身份,能够有效应对丢失后合法身份信息被盗用的问题。另一方面,本发明还提供了一种基于一次性口令的移动终端身份认证系统。参照图5,该系统包括:注册模块52、第一级认证模块54和第二级认证模块56。其中,注册模块52用于通过用户注册模块确定所述ID、所述PW和所述OTP;并且,所述OTP基于移动设备特征性标识生成,所述移动设备特征性标识包括移动设备识别码IMEI和移动用户识别码IMSI;第一级认证模块54用于接收输入移动设备的用户身份标识ID和用户通行密语PW,对比ID、H(PW)与移动设备中预先存储的ID和H(PW)是否一致,若不一致,提示用户输入有误,请用户重新输入ID和PW;若一致,执行第二级认证步骤;其中,H(PW)表示PW的哈希函数;第二级认证模块56用于基于一次性因素生成因子OTP、所述ID和所述PW进行移动设备与服务器间的双向身份认证。上述实施例中通过第一级认证模块54和第二级认证模块56实现移动终端身份认证。第一级认证模块54是用户与移动设备的认证,此项认证通过软件实现用户名与密码的核实实现,在基本不增加复杂程度的基础上,能够增强认证的安全性。发明主要针对第二级认证模块56,该模块实现移动设备与服务器的双向身份认证,在此认证过程中,使用移动设备特征性标识(IMEI和IMSI)作为一次性因素的生成因子。参照图6,图6为在一个实施例中的注册模块52的结构框图,包括:请求单元521、第一发送单元522和第一接收单元523。请求单元521,用于向服务器发出注册请求,接收并存储服务器基于响应该注册请求所发送的椭圆曲线系统参数集ECC和服务器端公钥KSR;第一发送单元522,用于选取用户端公钥KUR和用户端密钥KUS后,发送用所述KSR加密的(ID,H(PW),IMEI,IMSI,KUR)给服务器;第一接收单元523,用于用于接收服务器发送的用KUR加密的初始生成因子OTP0,并基于KUS解密后存储;所述OTP0用于形成所述第二级认证步骤中的一次性因素生成因子OTP。其中,ID、PW和OTP0通过如下方式确定:服务器端用KSS解密收到的所述(ID,H(PW),IMEI,IMSI,KUR),并验证ID是否已经存在:如果存在,则返回给移动设备注册错误信息,注册结束;如果不存在,则所述ID和所述PW可用,同时,服务器端初始化Counter=0,生成一次性因素生成因子OTP0=H(Counter||IMEI||IMSI);存储所述ID和PW,并发送OTP0至移动设备;H(Counter||IMEI||IMSI)表示Counter||IMEI||IMSI的哈希函数;并且,所述椭圆曲线系统参数集ECC为服务器端初始化生成;服务器端公钥KSR和服务器端密钥KSS为服务器端自行选取。其中,Counter表示计数器的数值,且Counter为整数且Counter≥0。也就是说,Counter起到计数器的作用,每次认证,该计数器从零计起,不考虑上限。“||”代表连接运算。参照图7,图7为在一个实施例中的第二级认证模块56的结构框图,包括:第二发送单元561、服务器端验证单元562、同步判断单元563、第三发送单元564和客户端验证单元565。其中,第二发送单元561用于发送用KSR加密的(ID,OTPCi,H(PW))给服务器端;其中,OTPCi是第i次认证时,服务器端验证客户端身份的一次性因子,OTPCi=H(OTPCi-1||Counter);对于第一次登录的用户,OTPC1=H(OTPC0);OTPC0=OTP0。服务器端验证单元562用于服务器端用KSS解密收到的上述信息,比较ID、H(PW)是否与数据库中的一致;若否,返回客户端用户验证出错信息;若是,服务器端计算OTPCi’;OTPCi’=H(OTPCi-1||Counter)。同步判断单元563用于服务器对比OTPCi’与存储的OTPCi是否一致,若否,则向客户端发出同步请求,进行同步操作;若是,继续第三发送步骤。第三发送单元564,用于服务器端发送用KUR加密的OTPSi和成功信息给客户端;其中,OTPSi=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter)。客户端验证单元565,用于客户端收到第三发送步骤发送的信息后,用KUS解密,计算得到的OTPSi与OTPSi’是否相同,其中:OTPSi’与服务器端计算OTPSi的方法相同。即OTPSi’=H(OTPSi-1||Counter),对于第一次验证,OTPS1=H(OTPS0),OTPS0=H(IMEI||Counter)。若OTPSi=OTPSi’,则认证成功;否则认证失败,终止会话;客户端和服务器端的Counter分别自增1。参照图8,图8为在一个实施例中同步判断单元563的结构框图,包括:同步请求单元5631、发送单元5632、服务器同步单元5633和客户端处理单元5634。其中,同步请求单元5631用于服务器向客户端发出同步请求。发送单元5632用于客户端将IMEI和IMSI用KSR加密后传送给服务器端。服务器同步单元5633用于服务器端用KSS解密,获取IMEI和IMSI,与本地存储的进行对比,若两者均相同,则将OTPCi-1,OTPSi-1,Counter用KUR加密后传送给客户端进行同步。客户端处理单元5634用于客户端收到以上信息,用KUS解密后存储在客户端,完成同步阶段。以上对本发明基于一次性口令的移动终端身份认证系统进行了简单说明。基于一次性口令的移动终端身份认证系统与基于一次性口令的移动终端身份认证方法原理相同,相关之处互相参照即可,不再赘述。以上对本发明所提供的一种基于一次性口令的移动终端身份认证方法和系统进行详细介绍,本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。